package cn.getech.data.development.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 告警-日志表
 * </p>
 *
 * @author cwp
 * @since 2020-12-01
 */
@Data
@Accessors(chain = true)
public class BdpAlarmLog implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId
    private  Long id;

    /**
     * 告警ID
     */
    private Integer alarmId;

    /**
     * 告警名称
     */
    private String name;

    /**
     * 告警对象类型
     */
    private Integer objectType;

    /**
     * 告警对象ID
     */
    private Long objectId;

    /**
     * 告警对象名称
     */
    private String objectName;

    /**
     * 触发条件
     */
    private Integer triggerCondition;

    /**
     * 免打扰时间，开始
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime noDisturbingStartTime;

    /**
     * 免打扰时间，结束
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime noDisturbingEntTime;

    /**
     * 告警方式，1：邮件，2：T信，3：电话，4：短信
     */
    private String alarmMode;

    /**
     * 接收人类型，1：部门，2：项目，3：个人，4：本人
     */
    private Integer receivedType;

    /**
     * 接受用户ID
     */
    private Integer receivedUserId;

    /**
     * 接受用户邮箱账号
     */
    private String receivedUserMail;

    /**
     * 邮件发送状态：1：发送中  2：发送失败 3：发送成功 
     */
    private Integer sendState;

    /**
     * 邮件开始发送时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sendStartTime;

    /**
     * 邮件结束发送时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sendEndTime;

    /**
     * 邮件发送内容
     */
    private String sendContent;

    /**
     * 告警时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private Integer createPer;

    /**
     * 更新时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 更新人
     */
    private Integer updatePer;


}
